{extend name="layout" /}

{block name="title"}
<title>表单字段 - thinkPHP极速后台开发</title>
<meta name="title" content="表单字段 - thinkPHP极速后台开发">
<meta name="keywords" content="表单字段,php,后台开发包，thinkphp、easyadmin、admin,easy,thinkeasyadmin">
<meta name="description" content="表单字段,可用于过滤器和表单;easyadmin灵活可定制的thinkphp的后台开发工具包,助你快速开发后台">
{/block}
{block name="main"}


<ul class="right-menu">
    <li><a href="#use" class="active">用法</a></li>
    <li><a href="#FormAutocomplete">下拉搜索框</a></li>
    <li><a href="#FormCheckbox">复选框</a></li>
    <li><a href="#FormCurrency">货币输入框</a></li>
    <li><a href="#FormDateTime">日期时间选择</a></li>
    <li><a href="#FormDateTimeRange">日期时间范围选择</a></li>
    <li><a href="#FormEditor">富文本</a></li>
    <li><a href="#FormHidden">隐藏域</a></li>
    <li><a href="#FormNumber">数字输入框</a></li>
    <li><a href="#FormRadio">单选</a></li>
    <li><a href="#FormSelect">下拉选择框</a></li>
    <li><a href="#FormSwitch">开关</a></li>
    <li><a href="#FormSwitch">bool</a></li>
    <li><a href="#FormText">文本输入框</a></li>
    <li><a href="#FormTextarea">文本域</a></li>
    <li><a href="#FormUpload">文件上传</a></li>
    <li><a href="#default">设置默认值</a></li>
</ul>

<?php $form=1; ?>

<fieldset id="join" class="layui-elem-field">
    <legend>表单字段 - <small>表单和过滤器可用</small></legend>
    <div class="layui-field-box">


        <p>列表默认预定义了几个字段,可直接使用; 如果需要不能满足需求,可<a href="{:url('custom_field')}">自定义字段类</a>,也很简单;</p>


        <fieldset class="layui-elem-field layui-field-title" id="use">
            <legend>字段的用法</legend>
            <div class="layui-field-box">
                <p>配置表单字段,生成添加和编辑表单的输入框; 不同类型的值,需要配置不同的字段;</p>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormAutocomplete;
use easyadmin\app\columns\form\FormCheckbox;
use easyadmin\app\columns\form\FormCurrency;
use easyadmin\app\columns\form\FormDateTime;
use easyadmin\app\columns\form\FormDateTimeRange;
use easyadmin\app\columns\form\FormEditor;
use easyadmin\app\columns\form\FormHidden;
use easyadmin\app\columns\form\FormNumber;
use easyadmin\app\columns\form\FormRadio;
use easyadmin\app\columns\form\FormSelect;
use easyadmin\app\columns\form\FormSwitch;
use easyadmin\app\columns\form\FormText;
use easyadmin\app\columns\form\FormTextarea;
use easyadmin\app\columns\form\FormUpload;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            ->addField('field','字段名称',FormAutocomplete::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormCheckbox::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormCurrency::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormDateTime::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormDateTimeRange::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormEditor::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormHidden::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormNumber::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormRadio::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormSelect::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormSwitch::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormText::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormTextarea::class,[
                // options 选项
            ])
            ->addField('field','字段名称',FormUpload::class,[
                // options 选项
            ]);
    }


}
        </pre>
                <ol>
                    <li>1. 不同的字段,只是在 options 选项上的不同;</li>
                    <li>2. <code>configFormField</code>方法表示配置表单;详见<a href="{:url('form_add_field')}">表单配置</a></li>
                </ol>

                <fieldset class="layui-elem-field layui-field-title">
                    <legend>addField 方法 参数说明:</legend>
                    <div class="layui-field-box">
                        <table class="layui-table">
                            <tr>
                                <th>字段</th>
                                <th>说明</th>
                                <th>类型</th>
                                <th>必填</th>
                                <th>默认值</th>
                            </tr>
                            <tr>
                                <td>field</td>
                                <td>字段名称;数据库表的字段</td>
                                <td>string</td>
                                <td>是</td>
                                <td></td>
                            </tr>
                            <tr>
                                <td>label</td>
                                <td>字段标题,显示名称</td>
                                <td>string</td>
                                <td>是</td>
                                <td></td>
                            </tr>
                            <tr>
                                <td>fieldClass</td>
                                <td>渲染字段的类名; 例如是使用 ListText 类渲染本字段,则填写 FormText::class</td>
                                <td>string</td>
                                <td>是</td>
                                <td></td>
                            </tr>
                            <tr>
                                <td>options</td>
                                <td>字段的选项; 不同的字段类有不同的选项;</td>
                                <td>array</td>
                                <td>否</td>
                                <td></td>
                            </tr>
                        </table>
                    </div>
                </fieldset>

            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormText">
            <legend>文本字段 FormText</legend>
            <div class="layui-field-box">
                <p>input 文本输入框</p>
                <p><code>文本字段的 options 适用于所有其他字段</code></p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>icon</td>
                        <td>string</td>
                        <td>输入框前面增加一个图标
                            <pre class="php">
->addField('name', '分类名称', FormText::class,[
    'icon'=>'layui-icon layui-icon-gift',  //layui 的图标,  直接写上 class 名称即可
])
                        </pre>
                        </td>
                        <td>否</td>
                    </tr>
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormText;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            //文本字段
            ->addField('field', '字段名称', FormText::class,[
                //options 选项
                'class'=>'test_class_name',
                'attr'=>'disabled=disabled checked=checked data-id=345',
                'default'=>'顶级分类',
                'template'=>'test:test' //需要放在当前的模块的 views 目录中
            ])
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormAutocomplete">
            <legend>下拉搜索框 FormAutocomplete</legend>
            <div class="layui-field-box">
                <p>下拉搜索框</p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>table</td>
                        <td>string</td>
                        <td>数据库表名称,在那张数据表中搜索</td>
                        <td>是</td>
                    </tr>
                    <tr>
                        <td>pk</td>
                        <td>string</td>
                        <td>表的主键,或者是管理字段的值,搜索出来的结果如果被选中,会用这个值提交表单</td>
                        <td>是</td>
                    </tr>
                    <tr>
                        <td>property</td>
                        <td>string</td>
                        <td>搜索那一个字段;界面上显示也是这个字段</td>
                        <td>是</td>
                    </tr>
                    <tr>
                        <td>url</td>
                        <td>string</td>
                        <td>自定义搜索链接, 同 query 参数二选一 ;会传递参数 <br>
                            <code>search</code>: 用户输入的值 <br>
                            <code>pk</code>: 定义的主键 <br>
                            <code>table</code>: 定义的表名称 <br>
                            <code>property</code>: 定义的搜索属性 <br>
                            需要返回格式
                            <pre class="json">
{
    "code":1,
    "msg":"ok",
    "data":[
                {"value":1,"name":"php"},
                {"value":2,"name":"javascript"},
                {"value":3,"name":"程序语言jp"}
           ]
}
                            </pre>
                        </td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>query</td>
                        <td>function</td>
                        <td>自定义搜索,同 url 参数二选一</td>
                        <td>否</td>
                    </tr>
                </table>
                <pre class="php">{literal}
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormAutocomplete;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            //下拉搜索框
            ->addField('parent_id','上级分类',FormAutocomplete::class,[
                // options 选项
                'table' => 'category',
                'pk' => 'id',//使用查询,的主键
                'property' => 'name',//查询显示字段
                'url'=> url("autocomplete_select"), //搜索地址,默认就是这个
                // 自定义搜索,  url query 二选一
                'query'=>function( $table, $pk,$property, $search, $default){
                    /** @noinspection PhpDynamicAsStaticMethodCallInspection */
                    $query = Db::table($table)->field("`{$pk}`,`{$property}`")->limit(30);

                    //处理搜索 ; 用户输入的时候
                    if ($search) {
                        $query->where($property, 'like', "%{$search}%");
                    }

                    //处理默认值 ; 编辑的时候, 默认显示那条数据
                    if ($default) {
                        $query->where($pk, $default);
                    }

                    //返回 查询对象
                    return $query;
                }

            ])
    }

}
{/literal}</pre>
                <img src="/doc_img/form_auto.png" alt="">
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormCheckbox">
            <legend>复选框 FormCheckbox</legend>
            <div class="layui-field-box">
                <p>checkbox 复选框</p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>title</td>
                        <td>string</td>
                        <td>空是传统的 checkbox 框框中间勾选, 带文字是 layui 美化的样式</td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>success</td>
                        <td>string</td>
                        <td>正确或者打开 的值</td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>error</td>
                        <td>string</td>
                        <td>错误或者关闭 的值</td>
                        <td>否</td>
                    </tr>
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormCheckbox;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            // 复选框
            ->addField('is_del', '是否删除', FormCheckbox::class,[
                'title' => '',//空是传统的 checkbox 框框中间勾选,   带文字是 layui 美化的样式
                'success' => 1, //正确或者打开 的值; 默认 1
                'error' => 0, //错误或者关闭 的值; 默认 0
            ]);
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormCurrency">
            <legend>货币输入框 FormCurrency</legend>
            <p> 前面一个图标, 数字输入框; </p>
            <div class="layui-field-box">
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormCurrency;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            //货币输入框
            ->addField('money', '金额', FormCurrency::class,[

            ])
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormDateTime">
            <legend>日期时间选择框 FormDateTime</legend>
            <div class="layui-field-box">
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>options</td>
                        <td>array</td>
                        <td>layui 日期选择框的全部属性</td>
                        <td>否</td>
                    </tr>
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormDateTime;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            //日期时间选择框
            ->addField('time', '创建时间', FormDateTime::class, [
                // type format in_format 格式要全部一致
                'format' => function ($val) {
                    return date('Y-m-d H:i:s', $val);
                },
                'options'=>[
                    // type format in_format 格式要全部一致
                    'type'=>'datetime', // 可选 date time datetime year month
                    'theme'=> '#393D49'
                    //  ...   更多 layui 的属性
                ],

                // type format in_format 格式要全部一致
                //'in_format' => 'strtotime'
                'in_format' => function ($val) {
                    return strtotime($val);
                }
            ])
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormDateTimeRange">
            <legend>日期时间范围选择框 FormDateTimeRange</legend>
            <div class="layui-field-box">
                <p>日期时间范围区间选择</p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>options</td>
                        <td>array</td>
                        <td>layui 日期选择框的全部属性</td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>end_field</td>
                        <td>string</td>
                        <td> end_field 处理的第二个字段, 例如: 开始时间 和 结束时间 <br>
                            一般情况下, 添加编辑页面会有到这个配置 ; <br>
                            添加编辑页面 会分别保存 2个字段的值<br>
                            搜索输入框过滤器的情况下, 不会用到这个配置 end_field
                        </td>
                        <td>
                            <p class="center">添加编辑 | 过滤器</p>
                            <p class="center">是 | 否</p>
                        </td>
                    </tr>
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormDateTimeRange;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            //日期时间选择框
            ->addField('time', '创建时间', FormDateTimeRange::class, [
                // end_field 处理的第二个字段,  例如: 开始时间 和 结束时间
                // 一般情况下, 添加编辑页面会有到这个配置 ;
                // 添加编辑页面 会分别保存 2个字段的值
                // 搜索输入框过滤器的情况下, 不会用到这个配置 end_field
                'end_field' => 'end_time',

                // type format in_format 格式要全部一致
                'format' => function ($val) {
                    return date('Y-m-d H:i:s', $val);
                },
                'options'=>[
                    // type format in_format 格式要全部一致
                    'type'=>'datetime', // 可选 date time datetime year month
                    'theme'=> '#393D49'
                    //  ...   更多 layui 的属性
                ],

                // type format in_format 格式要全部一致
                //'in_format' => 'strtotime'
                'in_format' => function ($val) {
                    return strtotime($val);
                }
            ])
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormEditor">
            <legend>富文本 FormEditor</legend>
            <div class="layui-field-box">
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>url</td>
                        <td>string</td>
                        <td>图片上传路径

                            <pre class="php">
# 需要返回格式为
{
    "errno":0,
    "msg":"ok",
    "data":[
        "url1","url2"
    ]
}
                        </pre>
                        </td>
                        <td>否</td>
                    </tr>
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormEditor;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            //富文本
            ->addField('intro','简介',FormEditor::class)
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormHidden">
            <legend>隐藏域 FormHidden</legend>
            <div class="layui-field-box">
                <p>input type=hidden 的隐藏字段</p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormHidden;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            //隐藏域
            ->addField('intro','简介',FormHidden::class)
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormNumber">
            <legend>数字输入框 FormNumber</legend>
            <div class="layui-field-box">
                <p>input type=number 的输入框</p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormNumber;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            //数字输入框
            ->addField('posts_num', '帖子数量', FormNumber::class)
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormRadio">
            <legend>富文本 FormRadio</legend>
            <div class="layui-field-box">
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>options</td>
                        <td>array</td>
                        <td>单选框的属性列表</td>
                        <td>是</td>
                    </tr>
                    <tr>
                        <td>options.key</td>
                        <td>int|string|bool</td>
                        <td>存储在数据库中的值</td>
                        <td>是</td>
                    </tr>
                    <tr>
                        <td>options.text</td>
                        <td>string</td>
                        <td>显示在界面上的文本</td>
                        <td>是</td>
                    </tr>
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormRadio;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            // 单选框
            ->addField('is_del', '是否删除', FormRadio::class, [
                'options' => [
                    ['key' => 1, 'text' => '删除',],
                    ['key' => 0, 'text' => '不删除',]
                ]
            ]);
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormSelect">
            <legend>下拉搜索框 FormSelect</legend>
            <div class="layui-field-box">
                <p>下拉搜索框</p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>table</td>
                        <td>string</td>
                        <td>数据库表名称,查询那张表的数据</td>
                        <td>是</td>
                    </tr>
                    <tr>
                        <td>pk</td>
                        <td>string</td>
                        <td>表的主键,或者是管理字段的值,查询出来的结果如果被选中,会用这个值提交表单</td>
                        <td>是</td>
                    </tr>
                    <tr>
                        <td>property</td>
                        <td>string</td>
                        <td>查询那一个字段;界面上显示也是这个字段</td>
                        <td>是</td>
                    </tr>
                    <tr>
                        <td>query</td>
                        <td>function</td>
                        <td>自定义查询</td>
                        <td>否</td>
                    </tr>
                </table>
                <pre class="php">{literal}
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormSelect;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            // 下拉选择框
            ->addField('parent_id', '上级分类', FormSelect::class, [
                // 用法一 , 从数据库中查询出列表
                'table' => 'category',
                'pk' => 'id',//使用查询,的主键
                'property' => 'name',//查询显示字段


                //用法二 , 定义一个选择列表
                'options' => [
                    ['key' => 'php', 'text' => 'PHP'],
                    ['key' => 'javascript', 'text' => 'Javascript'],
                    ['key' => 'python', 'text' => 'Python'],
                    ['key' => 'java', 'text' => 'Java'],
                ],


                // 用法三, 定义一个完整的 查询语句 , 查询结果中必须要包含  pk  和  property 字段
                // 本案例 查询结果中必须要又 id 和 name 字段
                'query' => Db::table('category')->where('id','<',100)->select(),
                'pk' => 'id',//使用查询,的主键
                'property' => 'name',//查询显示字段


                // 用法四, 定义个个 query ,不是完整的查询语句 , 会自己增加 field('id,name')
                'query' => Db::table('category')->where('id','<',100),
                'pk' => 'id',//使用查询,的主键
                'property' => 'name',//查询显示字段


                //用法五 定义个 匿名函数
                'query'=>function(){
                    // 查询 结果 必须要要又 key 和 text 两个字段
                    //return Db::table('category')->where('id','<',100)->field('id as `key`,name as text')->select();

                    // 也可以自己处理查询结果 组装成二位数组
                    $selectRet =  Db::table('category')->where('id','<',100)->field('id,name')->select()->toArray();
                    return array_map(function ($item){
                        return ['key'=>$item['id'],'text'=>$item['name']];
                    },$selectRet);

                }
            ])
    }

}
{/literal}</pre>
                <img src="/doc_img/form_auto.png" alt="">
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormSwitch">
            <legend>开关 FormSwitch</legend>
            <div class="layui-field-box">
                <p>switch 开关</p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>text</td>
                        <td>string</td>
                        <td>开关文字,用数显分隔</td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>success</td>
                        <td>string</td>
                        <td>正确或者打开 的值</td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>error</td>
                        <td>string</td>
                        <td>错误或者关闭 的值</td>
                        <td>否</td>
                    </tr>
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormSwitch;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            // 开关
            ->addField('is_del', '是否删除', FormCheckbox::class,[
                'success' => 1, //正确或者打开 的值 默认 1
                'error' => 0, //错误或者关闭 的值  默认 0
                'text' => '开|关',//开关文字,用数显分隔,
                'attr' => 'disabled' ,// 属性复制 disabled  将不可操作
            ]);
    }

}
        </pre>
                <blockquote class="layui-elem-quote">
                    有时候只需要展示状态,不需要操作; 只需要复制 attr disabled 即可
                </blockquote>

            </div>
        </fieldset>

        <fieldset class="FormTextarea layui-field-title" id="FormTextarea">
            <legend>文本域 FormTextarea</legend>
            <div class="layui-field-box">
                <p>textarea 输入框</p>
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormTextarea;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            // 文本域
            ->addField('intro','简介',FormTextarea::class)
    }

}
        </pre>
            </div>
        </fieldset>

        <fieldset class="layui-elem-field layui-field-title" id="FormUpload">
            <legend>文件上传 FormUpload</legend>
            <div class="layui-field-box">
                <div><code>options</code> 选项说明</div>
                <table class="layui-table">
                    {include file="index/form_field_text" /}
                    <tr>
                        <td>url</td>
                        <td>string</td>
                        <td>图片上传路径

                            <pre class="php">
# 需要返回格式为
{
    "errno":0,
    "msg":"ok",
    "data":["url1"]
}
                        </pre>
                        </td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>width</td>
                        <td>int</td>
                        <td>图片宽度</td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>height</td>
                        <td>int</td>
                        <td>图片高度</td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>cropper</td>
                        <td>bool</td>
                        <td>是否启用图片裁剪</td>
                        <td>否</td>
                    </tr>
                    <tr>
                        <td>multiple</td>
                        <td>number</td>
                        <td>启用多图上传,用逗号分割</td>
                        <td>否</td>
                    </tr>
                </table>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormUpload;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            // 图片上传
            ->addField('icon', '分类图标', FormUpload::class,[
                'width' => 100, //宽                 默认 80
                'height' => 60,//高                  默认 80
                'cropper' => true,//是否启用图片裁剪    默认 true
                'multiple' => 9, //配置多图上传     默认 1
            ])
    }

}
        </pre>
            </div>
        </fieldset>


        <fieldset class="layui-elem-field layui-field-title" id="default">
            <legend>设置默认值 - <small>default value</small></legend>
            <div class="layui-field-box">
                <p>这个问题常被人关注,独立出来明显一点</p>
                <p>所有字段都有一个默认值选项  FormRadio Checkbox ..... 都有</p>
                <pre class="php">
#project\app\admin\controller\Category.php

namespace app\admin\controller;

use easyadmin\app\columns\form\FormText;
use easyadmin\app\libs\PageForm;

class Category extends \easyadmin\controller\Admin
{

    /**
     * 配置表单
     * @param PageForm $page
     */
    protected function configFormField(PageForm $page)
    {
        $page
            // 图片上传
            ->addField('icon', '分类图标', FormText::class,[
                'default'=> '填写默认值'
            ])
    }

}
        </pre>
            </div>
        </fieldset>

    </div>
</fieldset>


{/block}
